Incremental encoders are widely used in position-controlled motion to provide the position of a motor or moving element to a controller.
An incremental encoder includes two channels that provide continuous position information about the encoder as it is moved. For purposes of this disclosure these two channels are defined as the A and B channels. In a digital encoder, the A and B channels are digital channels that each produce a square wave. The two square waves are in quadrature (i.e., phase shifted 90 degrees) with each other and provide directional information about the encoder. As a moving element in the encoder moves, the square waveforms on the A and B channel transition between a high and low state, which provides data about the position and direction of the encoder. In an analog encoder, the A and B channels are analog channels that each produce a repeating waveform, for example, a sinusoid. The two waveforms are in quadrature with each other and provide information about the position and direction of the encoder.
An encoder interface is often used with or incorporated into a motion controller to convert information contained in the waveforms in the A and B channels into a form that indicates position of the moving element. More particularly, a position counter is often included in an encoder interface device adapted for digital A and B channels to count transitions on each channel; the quadrature relationship of the channels provides direction information so that the position counter will count upwards if motion is in a first direction, and downwards if motion is in a second direction. Similarly, a position counter is often included in an encoder interface device adapted for analog A and B channels, to count waveform cycles and may also count fractions of a waveform cycle by measuring the voltage level on each channel and computing a function of voltage level indicating position within the waveform cycle. The value of the position counter therefore indicates a position of the encoder (and motor or other element attached to the encoder).
An encoder interface, typically a digital semiconductor device, is often used with or incorporated into a motion controller. The encoder interface has a position counter to maintain a count of the number of transitions, which serves as an indication of the moving element's position.
While the A and B channels provide information about the movement and direction of the motor, they do not provide information about the absolute position of the motor. For this reason, an additional digital channel, called the index channel (referred to as the Z channel in this document) is often provided with encoders. The index channel provides a pulse once per revolution for rotary encoders, and once every chosen linear distance for linear encoders. Thus, when a pulse is sensed in the Z channel, a controller knows that the motor is at a unique position within a certain interval of distance. The controller can use this information to determine proper motor commutation settings, check the consistency of the distance measured between index pulses, and also determine a unique reference position within the moving element's entire range of motion.
It is desirable to know the index position (i.e., the value of the encoder interface position counter when the index pulse is active) to an accuracy of a single encoder count, which is simple if the index pulse is active for only a single encoder count. However, achieving an index pulse that is active for a single encoder count can be difficult in high-resolution encoders, where there may be thousands of encoder counts per revolution or per centimeter.